package wxpay

//支付场景描述
type WxH5Info struct {
	//场景类型:示例值：iOS, Android, Wap
	SceneType 			string 	`json:"type"`
	//应用名称
	App_name 			string 	`json:"app_name,omitempty"`
	//网站URL
	App_url 			string 	`json:"app_url,omitempty"`
	//iOS平台BundleID
	Bundle_id 			string 	`json:"bundle_id,omitempty"`
	//Android平台PackageName
	Package_name		string 	`json:"package_name,omitempty"`
}

type WxH5SceneInfo struct {
	//用户终端IP
	Payer_client_ip 	string 	`json:"payer_client_ip"`
	//商户端设备号
	Device_id 			string 	`json:"device_id,omitempty"`
	//H5场景信息
	H5_info 			WxH5Info `json:"h5_info,omitempty"`
}

//统一下单请求参数
type WxH5OrderData struct {
	//子商户用ID（服务商）
	Sub_appid       	string	`json:"sub_appid,omitempty"`
	//子商户的商户号（服务商）
	Sub_mchid       	string	`json:"sub_mchid,omitempty"`
	//商品描述
	Description       	string	`json:"description"`
	//商户系统内部订单号
	Out_trade_no     	string	`json:"out_trade_no"`
	//交易结束时间
	Time_expire       	string	`json:"time_expire,omitempty"`
	//附加数据，在查询API和支付通知中原样返回，可作为自定义参数使用
	Attach       	   	string	`json:"attach,omitempty"`
	//通知URL必须为直接可访问的URL，不允许携带查询串
	Notify_url 			string	`json:"notify_url"`
	//订单优惠标记
	Goods_tag       	string	`json:"goods_tag,omitempty"`
	//订单金额信息
	Amount OrderCreateAmount 		`json:"amount"`
	//统一下单结算信息
	Settle_info OrderCreateSettle 	`json:"settle_info"`
	//支付场景描述
	Scene_info WxH5SceneInfo 		`json:"scene_info"`
}

//统一下单请求参数
type WxH5OrderCreateReq struct {
	//应用ID(普通商户)
	Appid       		string	`json:"appid,omitempty"`
	//直连商户号(普通商户)
	Mchid          		string	`json:"mchid,omitempty"`
	//服务商用ID（服务商）
	Sp_appid       		string	`json:"sp_appid,omitempty"`
	//服务商户号（服务商）
	Sp_mchid          	string	`json:"sp_mchid,omitempty"`
	//订单数据
	WxH5OrderData
}

//统一下单返回参数
type WxH5OrderCreateRet struct {
	//详细错误码
	Return_code 	string 	`xml:"code"`
	//错误描述
	Return_msg  	string 	`xml:"message"`
	//h5_url为拉起微信支付收银台的中间页面，可通过访问该url来拉起微信客户端，完成支付，h5_url的有效期为5分钟。
	H5_url   		string 	`xml:"h5_url"`
}
